﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sinacor.Infra.Common;
using Sinacor.Infra.UI.Common;
using Sinacor.UI.Bovespa.Ordens;
using System.ComponentModel;
using Sinacor.UI.Bovespa.Ordens.Communication.Bovespa.Ordens.LoteDigitacao;

namespace Sinacor.UI.Bovespa.Ordens.Communication.Translator
{
    class TranslatorLoteDigitacao : BaseTranslator<
          InserirLoteDigitacao, 
          Model.LoteDigitacao,
          List<InserirLoteDigitacao>,
          ModelCollection<Model.LoteDigitacao>>
     {

        public override InserirLoteDigitacao Translate( Model.LoteDigitacao   from)
        {
            InserirLoteDigitacao to = new InserirLoteDigitacao();
            to.ApelidoCliente = from.ApelidoCliente;
            to.CodigoAgenteCustodia = from.CodigoAgenteCustodia;
            to.CodigoCarteira = from.CodigoCarteira;
            to.CodigoCliente = from.CodigoCliente;
            to.CodigoClienteCustodia = from.CodigoClienteCustodia;
            to.DataMovimento = from.DataMovimento;
            to.DigitoClienteCustodia = from.DigitoClienteCustodiaDigitacao;
            to.DigitoVerificadorCliente = from.DigitoVerificadorCliente;
            to.IndicadorNaoLiquidacao = from.IndicadorNaoLiquidacao;
            to.IndicadorSistemaExterno = from.IndicadorSistemaExterno;
            to.NumeroConjunto = from.NumeroConjunto;
            to.NumeroSequenciaDigitacao = from.NumeroSequenciaDigitacao;
            to.PercentualAcrescimo = from.PercentualAcrescimo;
            to.PercentualDistribuido = from.PercentualDistribuido;
            to.PrecoInformado = from.PrecoInformado;
            to.QuantidadeDestinadaCliente = from.QuantidadeDestinadaCliente;
            to.SituacaoCliente = from.SituacaoCliente;
            TranslatorEnumTipoDistribuicao tipoDistribuicao = new TranslatorEnumTipoDistribuicao();
            Sinacor.UI.Bovespa.Ordens.Communication.Bovespa.Ordens.LoteDigitacao.TipoDistribuicao? tipoDistribuicaoEnum = new Sinacor.UI.Bovespa.Ordens.Communication.Bovespa.Ordens.LoteDigitacao.TipoDistribuicao();
            tipoDistribuicao.TranslateEnum( from.TipoDistribuicao, out tipoDistribuicaoEnum);
            to.TipoDistribuicao = tipoDistribuicaoEnum;
            TranslatorTipoLiquidacaoDistribuicao tipoLiquidacaoDistribuicao = new TranslatorTipoLiquidacaoDistribuicao();
            Sinacor.UI.Bovespa.Ordens.Communication.Bovespa.Ordens.LoteDigitacao.TipoLiquidacaoDistribuicao? tipoLiquicaEnum = new Sinacor.UI.Bovespa.Ordens.Communication.Bovespa.Ordens.LoteDigitacao.TipoLiquidacaoDistribuicao();
            //from.TipoLiquidacao;
            tipoLiquidacaoDistribuicao.TranslateEnum(from.TipoLiquidacao, out tipoLiquicaEnum);
            to.TipoLiquidacao = tipoLiquicaEnum;
            
            to.ValorDolar = from.ValorDolar;
            to.UtilizaContaInvestimento = from.UtilizaContaInvestimento;
            return to;
          
        }
    }
}

